// @ts-nocheck
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import axios from 'axios'
// axios.defaults.baseURL="http://localhost:3000"
axios.defaults.baseURL="/api"
// axios.defaults.withCredentials=true
Vue.prototype.$axios = axios;

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

import './style/theme.css'
import './style/characters.css'


// 引入icon
import '@/assets/icon/iconfont.css'

// 引入echarts
// import echarts from 'echarts'
// Vue.prototype.echarts = echarts
// 引入qs 
import qs from 'qs'
Vue.prototype.qs=qs;
// 过滤器
// 导入成组的方法
import * as custom from './utils/util'
// Object.keys()用于获得由对象属性名组成的数组
// util.js中有多个export,把util所有export方法的导入
Object.keys(custom).forEach(key => {
    Vue.filter(key, custom[key])
})
// 路由拦截器
router.beforeEach((to,from,next)=>{
  if (to.matched.some(item=>item.meta.requireAuth)) {
    if (sessionStorage.getItem("islogin")||localStorage.getItem("islogin")) {//判断是否已经登陆过
      next()//登录过继续登录到该路由
    }else{
      next({
        path:'/login',
        query:{redirect:to.fullPath}
      })
    }
  }else{
    next()
  }
})
Vue.config.productionTip = false
const bus=new Vue();
Vue.prototype.bus=bus;

new Vue({
  router,
  store,
  // data:{
  //   // 空的实例放到根组件下，所有子组件都能调用
  //   Bus:new Vue()
  // },
  render: h => h(App)
}).$mount('#app')
